/**
 * 数组 有序列表组成的数据结构 可迭代的
 */
//1.创建数组 数组元素可以是任意数据类型
// var arr=['hello',10,true,null,undefined,{name:'tom'}];
// console.log(arr);
//访问数组元素 下标
// console.log(arr[4]);

/**
 * 数组api
 * 1.pop 从数组末尾删除一个数组元素
 */
//arr.pop()
//console.log(arr);
/**
 * 2.push 从数组末尾添加元素
 */
// arr.push('terry','larry')
// console.log(arr);
/**
 * 3.shift 从数组头部删除一个数组元素
 */
// arr.shift();
// console.log(arr);

/**
 * 4.unshift 从数组头部添加数组元素
 */
// arr.unshitf('terry','larry');
// console.log(arr);
/**
 * 5.splice 指定位置删除或增加数组元素
 * 参数 index howmany(0/正数) 0表示增加，正数表示删除
 */
// var arr=['hello',10,true,null,undefined,{name:'tom'}];
//指定位置删除 
// arr.splice(2,2);

// console.log(arr);
//指定位置增加数组元素 terry larry
// arr.splice(2,0,'terry','lerry');
// console.log(arr);
/**
 * 迭代方法 filter map forEach
 */
/**
 * map 映射每一个数组元素
 */
// var arr=[10,20,30,40,50];
// var result=arr.map(function(item,index,arr){
//     //item 表示数组每一项
//     //index 表示数组每一项对应的索引
//     //arr 数组本身
//     console.log(item,index,arr,'....')
//     return item + 10
// });
// console.log(result,'返回值')
/**
 * filter 过滤符合条件的数组元素
 */
// var arr=[10,20,30,40,50];
// var result=arr.filter(function(item,index,arr){
//     return item>30;
// });
// console.log(result);

/**
 * forEach 循环遍历数组元素 for循环加强版
 */
var arr=[10,20,30,40,50];
for(let i=0;i<arr.length;i++){
    console.log(arr[i]);
}
for(let index in arr){
    console.log(arr[index]);
}
//实现了迭代器接口的数据结构可以使用for of
for(let ind of arr){
    console.log(arr[ind]);
}
// arr.forEach(function(item,index,arr){
//     item=item+1;
//     console.log(item);
// });
//数组创建 构造函数
let arr1= new Array('terry','array');
console.log(arr1);